package com.tsmti.core.common.query.data;

import com.alibaba.fastjson.serializer.SerializeFilter;

/**
 * @title: PropertyPreFilterable.java
 * @package
 * @description: JSON格式化输出
 * @author:
 * @date:
 *
 */
public interface PropertyPreFilterable {
	/**
	 * 序列化
	 * @param clazz 类
	 * @return 序列化
	 */
	SerializeFilter constructFilter(Class<?> clazz);

	/**
	 *增加
	 * @param properties  properties
	 */
	void addQueryProperty(String... properties);

	/**
	 *增加
	 * @param clazz 类
	 * @param properties properties
	 */
	void addIncludeFilter(Class<?> clazz, String... properties);

	/**
	 *增加
	 * @param clazz 类
	 * @param properties properties
	 */
	void addExcludeFilter(Class<?> clazz, String... properties);
}
